#ifndef __IMA_UTILS_H__
#define __IMA_UTILS_H__

class ImaUtils {
	public:
		static bool isValidEmailAddress(const char* pEmailAddress);
		static bool isValidPhoneNum(const char* pPhoneNum);
		static int getFileContents(char* pFilename, char**buffer);
		static void genRandomKey(char *s, const int len);
		static void toLower(char* pStr);
		static bool isPermittedImService(const char* pImService);
		static bool isValidImId(const char* pImId);
	
	private:
		static inline bool isCharacter(const char Character) { 
			//Checks if a Character is a Valid A-Z, a-z Character, based on the ascii value
			return ((Character >= 'a' && Character <= 'z') 
				|| (Character >= 'A' && Character <= 'Z'));
		}

		static inline bool isNumber(const char Character) {
			//Checks if a Character is a Valid 0-9 Number, based on the ascii value
			return ( Character >= '0' && Character <= '9');
		}

};
#endif
